Machine Learning · PoliMI

Apprendimento Supervisionato

Capitolo 2
≈ 26 min di lettura · 5688 parole
Importanza per l'esame: 4/5

★★★★☆ Overfitting, errore di training vs test e gestione train/validation/test ricorrono in continuazione nei vero/falso, negli snippet di codice e in due domande aperte dedicate.

L’apprendimento supervisionato è il paradigma di machine learning più popolare e consolidato. L’idea di fondo è semplice e potente: invece di scrivere a mano le regole che risolvono un compito, si mostrano alla macchina molti esempi di input insieme alla risposta corretta, e si lascia che sia un algoritmo a ricostruire la regola che lega i primi alla seconda. È lo stesso modo in cui si insegna a un bambino a riconoscere gli animali: non gli si dà la definizione formale di “cane”, gli si mostrano tanti cani dicendo “questo è un cane”.

Questo capitolo costruisce il framework formale che sta dietro a tutti i metodi supervisionati che verranno studiati in seguito: la funzione target ignota, il dataset di esempi, l’hypothesis space (spazio delle ipotesi), la loss function (funzione di perdita) e l’ottimizzazione. Vengono poi presentati i tre ingredienti che definiscono ogni algoritmo supervisionato, la distinzione tra regressione e classificazione, una tassonomia degli approcci e, infine, la questione più profonda di tutte: che cosa rende possibile generalizzare da esempi finiti a situazioni mai viste.

1. Il problema: imparare una funzione dagli esempi#

1.1 La funzione target ignota e il dataset#

Si parte dall’assunzione che esista, in natura o nel dominio applicativo, una relazione sistematica tra un input e un output: c’è “qualcosa” che, data una radiografia, determina se contiene una lesione; c’è “qualcosa” che, date le caratteristiche di un’automobile, determina quanto un certo acquirente sarebbe disposto a pagarla. Questa relazione viene modellata come una funzione, che però nessuno conosce esplicitamente: la si osserva soltanto attraverso esempi.

Idea chiave: l’apprendimento supervisionato è il problema di ricostruire una funzione ignota ff osservando soltanto un numero finito di coppie input-output generate da essa.

Problema di apprendimento supervisionato

I dati provengono da una funzione ignota ff che mappa un input xx in un output tt, cioè t=f(x)t = f(x). È dato un dataset di coppie

D={(x1,t1),(x2,t2),,(xN,tN)}\mathcal{D} = \{(x_1, t_1), (x_2, t_2), \dots, (x_N, t_N)\}

e l’obiettivo è apprendere una buona approssimazione di ff.

  • Input xx: le variabili di ingresso, dette solitamente features o attributi; descrivono ogni esempio (i pixel di un’immagine, le caratteristiche di un’auto, le misure di un paziente).
  • Output tt: le variabili di uscita, dette target o label; rappresentano la risposta corretta associata a ciascun input.
  • Funzione target ff: la vera relazione, ignota, tra input e output; è l’oggetto che si vuole approssimare.
TRAININGFunzione ignota ft = f(x) + εgeneraD = {(xn, tn)}dataset etichettatoAlgoritmo di apprendimentocerca h dentro HIpotesi h ≈ fapprossimazionePREDIZIONENuovo input xmai visto in trainingPredizione h(x)risposta su casi nuovi

In parole semplici: esiste una “regola vera” che collega domande e risposte, ma nessuno la conosce. Abbiamo solo un elenco di domande con la risposta giusta accanto. Il compito è indovinare la regola a partire da quell’elenco, così da poter rispondere anche a domande nuove.

Il nome “supervisionato” viene proprio dalla struttura del dataset: serve un supervisore, tipicamente un essere umano o un processo di misura, che fornisca per ogni input anche l’output atteso. Non bastano i dati grezzi: senza le etichette il problema cambia natura e si ricade nel paradigma non supervisionato. Sembra un’osservazione ovvia, ma nella pratica professionale è una fonte costante di equivoci: “avere i dati” non significa avere i dati etichettati, e per molti modelli le etichette sono esattamente la parte costosa e preziosa.

In base alla natura del target tt il problema prende nomi diversi.

Task supervisionati
  • Classificazione: tt è una variabile discreta, cioè un’etichetta scelta in un insieme finito di possibilità (sano/malato, cifra da 0 a 9, compro/non compro).
  • Regressione: tt è una variabile continua, un valore numerico (un prezzo, una temperatura, un’età).
  • Stima di probabilità: tt è una probabilità, quindi un numero vincolato all’intervallo [0,1][0,1]; è un tipo molto specifico di regressione, per certi versi ibrido con la classificazione, perché il numero stimato è tipicamente legato alla scelta di una classe.

In parole semplici: se la risposta da prevedere è una scelta tra categorie, è classificazione; se è un numero su una scala continua, è regressione; se è “quanto è probabile che…”, è stima di probabilità, cioè una regressione con output tra 0 e 1.

Qualche esempio concreto rende viva la distinzione. Nella classificazione, ogni punto del dataset potrebbe essere un’auto e l’etichetta “la comprerei” oppure “non la comprerei”: l’obiettivo è costruire un modello di decisione capace di discriminare le due classi, cioè di separare i punti di un tipo da quelli dell’altro. Nella regressione, gli stessi punti-auto hanno come target la cifra che quella persona sarebbe disposta a spendere: l’obiettivo è prevedere un valore numerico, non una categoria. Un altro esempio di regressione è stimare l’età di una persona a partire da una sua fotografia; lo stesso dominio, le fotografie di volti, può dare luogo a un problema di classificazione se il target diventa un’etichetta binaria.

Classificazionetarget t discreto (etichette)x1x2classe Aclasse BRegressionetarget t continuo (numeri)xtf(x)t = f(x) + ε

1.2 Quando conviene l’apprendimento supervisionato#

L’apprendimento supervisionato non è la soluzione a ogni problema: è la scelta giusta in situazioni ben riconoscibili, accomunate da un tratto: abbiamo (o possiamo procurarci) molti esempi input-output, ma è difficile o impossibile scrivere a mano un programma che colleghi gli uni agli altri.

In parole semplici: il machine learning supervisionato conviene quando è più facile procurarsi esempi giusti che scrivere le regole giuste. Se un esperto sa etichettare ma non sa spiegare, o se le regole invecchiano in fretta, gli esempi sono la strada migliore.

1.3 I dati reali sono rumorosi#

Immaginando un problema di regressione con una sola variabile di input xx e il target tt sull’altro asse, la funzione target ff è una curva nel piano. I punti del dataset, però, non giacciono mai esattamente su quella curva: i dati del mondo reale sono sempre affetti da un certo livello di rumore, dovuto a errori di misura, fattori non osservati, variabilità intrinseca del fenomeno. Il modello generativo realistico è quindi

t=f(x)+ϵt = f(x) + \epsilon

dove ϵ\epsilon è una componente di rumore. I punti “seguono” la curva senza appartenerle esattamente. Tutti i modelli e gli algoritmi di machine learning sono progettati aspettandosi questo scenario: il rumore non è un’anomalia, è la condizione normale di lavoro.

In parole semplici: anche se la regola vera esiste, gli esempi che osserviamo ne sono versioni leggermente sporcate. Un buon algoritmo non deve inseguire ogni singolo punto alla perfezione, perché parte di ciò che vede è disturbo, non segnale.

2. La formalizzazione: hypothesis space, loss e ottimizzazione#

2.1 Restringere la ricerca: l’hypothesis space#

Conviene ora assumere la prospettiva di chi progetta un algoritmo di apprendimento supervisionato, non di chi lo applica. Il compito è: dato D\mathcal{D}, trovare una buona approssimazione di ff. Ma dove cercarla? In linea di principio la si dovrebbe cercare nell’insieme F\mathcal{F} di tutte le possibili funzioni che mappano l’input nel target. Questo insieme è sconfinato: cercare lì dentro è impossibile, sia dal punto di vista computazionale sia, come si vedrà, dal punto di vista concettuale. Da ingegneri, occorre restringere la ricerca a un sottoinsieme di funzioni scelto in anticipo.

Idea chiave: non si può cercare l’approssimazione di ff tra tutte le funzioni possibili; si sceglie a priori una famiglia ristretta di funzioni candidate, l’hypothesis space, e si cerca la migliore all’interno di quella famiglia.

Hypothesis space

L’hypothesis space HF\mathcal{H} \subset \mathcal{F} è l’insieme delle funzioni candidate tra cui l’algoritmo cerca l’approssimazione di ff. Ogni elemento hHh \in \mathcal{H} è detto ipotesi.

Un esempio classico: nel problema di regressione a una variabile si può decidere che le funzioni candidate siano tutte e sole le rette del piano, cioè le funzioni della forma h(x)=w0+w1xh(x) = w_0 + w_1 x. Questo definisce un hypothesis space H1\mathcal{H}_1: un piccolo ovale dentro l’enorme insieme F\mathcal{F}. La scelta ha un prezzo evidente: se la vera ff non è una retta, allora fH1f \notin \mathcal{H}_1, e nessuna ricerca, per quanto perfetta, potrà mai trovarla. Ci si accontenta di trovare, dentro H1\mathcal{H}_1, il punto più vicino a ff.

L’hypothesis space. Invece di cercare f in tutto \mathcal{F}, si sceglie una famiglia ristretta: \mathcal{H}_1 (un piccolo ovale) o \mathcal{H}_2 (più ampio). I tre passi sono definire la loss, scegliere lo spazio e ottimizzare per trovare l’ipotesi h più vicina a f. (Slide del corso.)

In parole semplici: è come cercare le chiavi perse: non si può setacciare tutta la città, si decide prima in quali stanze guardare. Se le chiavi sono in una stanza esclusa dalla ricerca, non le troveremo mai; ma senza restringere la ricerca non si comincia nemmeno.

2.2 Misurare l’errore e ottimizzare#

Scelto dove cercare, serve un criterio per confrontare le ipotesi tra loro: una funzione che dica quanto è grande l’errore che un’ipotesi commette nell’approssimare ff. Nel linguaggio dell’ottimizzazione si parlerebbe di funzione obiettivo; in machine learning si chiama loss function.

Loss function

Una loss function L\mathcal{L} è una funzione che misura quanto un’ipotesi hh approssima male la funzione target: più grande è il suo valore, peggiore è l’approssimazione.

A questo punto il quadro complessivo dell’apprendimento supervisionato si compone di tre passi:

  1. definire una loss function L\mathcal{L};
  2. scegliere l’hypothesis space H\mathcal{H};
  3. trovare in H\mathcal{H} l’approssimazione hh di ff che minimizza L\mathcal{L}, cioè risolvere

h=argminhHL(h)h^* = \arg\min_{h \in \mathcal{H}} \mathcal{L}(h)

Il terzo passo è un problema di ottimizzazione, e per risolverlo si può ricorrere a un qualunque algoritmo di ottimizzazione adatto alla forma di L\mathcal{L} e di H\mathcal{H}. Geometricamente: dentro l’ovale H1\mathcal{H}_1 l’ottimizzatore trova il punto h1h_1^* più vicino a ff, dove “vicino” è misurato dalla loss.

In parole semplici: l’apprendimento diventa una gara tra funzioni candidate: la loss è il punteggio (più basso è, meglio è) e l’ottimizzatore è il meccanismo che scorre le candidate per trovare quella col punteggio migliore.

2.3 Il problema nascosto: la vera loss non esiste#

A questo punto viene naturale un’obiezione: se la scelta di H1\mathcal{H}_1 (le rette) ci impedisce di raggiungere ff, perché non scegliere una famiglia più ricca? Si può passare, per esempio, ai polinomi di grado 9: lo spazio H2\mathcal{H}_2 risultante è molto più grande e, per costruzione, contiene H1\mathcal{H}_1, perché un polinomio con tutti i coefficienti nulli tranne i primi due è esattamente una retta. Se H2\mathcal{H}_2 è abbastanza ricco da contenere ff, allora, con un buon algoritmo di ottimizzazione (anche numerico), si troverà h2fh_2 \equiv f: approssimazione senza errore, problema risolto.

Questo ragionamento contiene però un errore fatale, ed è l’errore più istruttivo di tutto il capitolo: la loss usata finora era definita come la distanza tra l’ipotesi hh e la vera funzione ff. Ma ff è ignota: è esattamente ciò che si sta cercando. Se si potesse calcolare la distanza da ff, si conoscerebbe già ff e non ci sarebbe nulla da imparare. Quella loss “perfetta” non è disponibile, in nessun caso.

Idea chiave: la loss ideale, la distanza dall’ignota ff, non è calcolabile. L’unica cosa disponibile sono i dati: la loss va costruita a partire dal dataset, e diventa così una approssimazione della loss vera, con un paesaggio potenzialmente molto diverso.

Che cosa si può fare, allora? Costruire una loss empirica basata solo su D\mathcal{D}. Per la regressione una scelta tipica è: calcolare, su ogni punto del dataset, l’errore commesso dall’approssimazione, elevarlo al quadrato e sommare su tutti i punti:

L^(h)=n=1N(tnh(xn))2\hat{\mathcal{L}}(h) = \sum_{n=1}^{N} \big(t_n - h(x_n)\big)^2

Questa funzione è calcolabile, perché usa solo quantità note. Ma il suo paesaggio, cioè la forma della superficie che l’ottimizzatore esplora, è in generale diverso da quello della loss vera. Ed è qui che il problema diventa davvero complesso: l’ottimizzatore trova la soluzione migliore dentro H1\mathcal{H}_1 o H2\mathcal{H}_2 secondo la loss empirica, ma questa soluzione può essere pessima secondo la loss vera. In particolare, il polinomio di grado 9 che passa perfettamente per tutti i punti osservati può comportarsi in modo catastrofico appena ci si sposta su input nuovi, molto peggio della semplice retta ottimizzata nello stesso modo. Non solo: la forma della loss empirica, e quindi la soluzione trovata, dipende dai punti che si hanno. Se arriva un nuovo punto, la soluzione polinomiale può cambiare in modo selvaggio, mentre la retta cambia di poco: i modelli più ricchi sono anche più instabili rispetto ai dati.

losshypothesis space Hh scelto dall'algoritmoh davvero più vicino a floss vera (incalcolabile)loss empirica (dai dati)

In parole semplici: non potendo misurare la distanza dalla regola vera, misuriamo quanto bene ricopiamo gli esempi che abbiamo. Ma “ricopiare benissimo gli esempi” e “avvicinarsi alla regola vera” non sono la stessa cosa: un modello molto flessibile può ricopiare tutto alla perfezione e sbagliare clamorosamente sui casi nuovi. Per questo allargare l’hypothesis space non è sempre un vantaggio.

Questa tensione, ottimizzare una loss che non è quella reale, è il problema centrale dell’apprendimento supervisionato: prende il nome di overfitting quando il modello aderisce al rumore dei dati invece che al segnale, e gran parte della teoria che segue nei prossimi capitoli (scelta della complessità del modello, validazione, regolarizzazione) è un modo di affrontarla.

3. I tre ingredienti di ogni algoritmo supervisionato#

Il quadro appena costruito si lascia riassumere in una ricetta: per progettare (o per capire) un qualunque algoritmo di apprendimento supervisionato bisogna specificare tre ingredienti.

Idea chiave: ogni algoritmo di apprendimento supervisionato è definito dalla combinazione di tre scelte: la rappresentazione (l’hypothesis space), la valutazione (la loss function) e l’ottimizzazione (il metodo di ricerca). Algoritmi diversi sono combinazioni diverse di questi tre ingredienti.

In parole semplici: per costruire un “impara-funzioni” servono sempre tre decisioni: che forma possono avere le soluzioni, come si dà il voto a una soluzione, e con quale procedura si cerca la soluzione col voto migliore. Ogni metodo che si incontrerà nel corso è una particolare terna di queste decisioni.

Algoritmo di apprendimento supervisionatoRappresentazionehypothesis space HValutazioneloss function LOttimizzazionericerca di h* in Hlineari · alberi · reti · SVMquadratica · likelihood · marginegreedy · gradiente · vincolata

3.1 Rappresentazione: esempi di spazi delle ipotesi#

Esistono moltissime famiglie di modelli, ciascuna corrispondente a un hypothesis space con proprietà diverse. Tra le più importanti:

Le reti neurali, per esempio, sono oggi un modo estremamente popolare di approssimare una funzione ignota: anch’esse, come ogni altro modello, non sono altro che la definizione di un certo spazio di ipotesi entro cui cercare.

3.2 Valutazione: esempi di criteri#

Anche i criteri di valutazione sono numerosi, e si tratta in genere di metriche o punteggi che quantificano la bontà di un’approssimazione:

Una precisazione importante: non tutte queste quantità si prestano ugualmente bene a fare da loss function da ottimizzare. Alcune sono ottime per valutare un modello a posteriori ma scomode da ottimizzare direttamente; la metrica con cui si giudica il modello finito e la loss che l’algoritmo minimizza durante l’addestramento possono quindi essere diverse.

3.3 Ottimizzazione: esempi di metodi#

Le famiglie principali di metodi di ottimizzazione utilizzate in machine learning sono:

La scelta non è libera: il metodo di ottimizzazione deve essere adatto alla rappresentazione e alla loss scelte. È l’interazione tra i tre ingredienti a determinare il comportamento complessivo dell’algoritmo, e capire come i modelli vengono effettivamente ottimizzati aiuta a prevedere che cosa ci si può aspettare dal risultato finale.

4. Una tassonomia degli approcci supervisionati#

Gli algoritmi supervisionati si possono classificare lungo diverse dimensioni, indipendenti tra loro. Queste distinzioni torneranno più volte nei capitoli successivi; qui vengono introdotte come mappa concettuale.

Le dicotomie dell’apprendimento supervisionato. Le quattro dimensioni indipendenti lungo cui collocare un metodo: parametrico contro non parametrico, frequentista contro bayesiano, generativo contro discriminativo, minimizzazione del rischio empirico contro strutturale. (Slide del corso.)

4.1 Parametrico vs non parametrico#

In parole semplici: parametrico significa “decido io prima la forma della soluzione e i dati riempiono le caselle”; non parametrico significa “lascio che siano i dati a determinare quanto complessa sarà la soluzione”.

4.2 Minimizzazione del rischio empirico vs strutturale#

Il motivo della seconda strategia discende direttamente dal dilemma della sezione 2.3: dato che uno spazio di ipotesi più ampio non garantisce soluzioni migliori rispetto alla loss vera, un modo per mitigare il rischio è includere nella funzione obiettivo una penalità sulla complessità, così che il modello venga premiato non solo per aderire ai dati ma anche per restare semplice. Questa idea, anticipata qui, sarà sviluppata più avanti sotto il nome di regolarizzazione.

In parole semplici: minimizzare solo l’errore sugli esempi visti spinge verso modelli che li ricalcano troppo fedelmente. Aggiungere un “costo della complessità” è come dire: tra due spiegazioni ugualmente buone dei dati, preferisci la più semplice.

4.3 Diretto, discriminativo o generativo#

L’obiettivo resta sempre lo stesso: apprendere dai dati una funzione che mappa gli input negli output. Ci sono però tre strategie diverse per arrivarci, che differiscono in quanto “modellano” del fenomeno. Poiché nei dati c’è sempre incertezza, ha molto senso trattare il problema con strumenti probabilistici; le ultime due strategie fanno esattamente questo.

E[tx]=tp(tx)dt\mathbb{E}[t \mid x] = \int t \, p(t \mid x) \, dt

La differenza sostanziale sta nel compromesso tra difficoltà e potenza. Modellare la congiunta è più difficile che modellare la sola condizionata; in cambio, chi conosce p(x,t)p(x,t) conosce in pratica tutto del fenomeno: può non solo predire il target, ma anche, per esempio, generare nuovi punti dati sintetici, e affrontare compiti che vanno oltre la pura previsione. L’approccio discriminativo è un compromesso molto usato in pratica: modella solo ciò che serve per predire, ed è per questo più semplice; l’approccio generativo è il più ambizioso e il più costoso.

In parole semplici: l’approccio diretto impara solo la risposta (“dato xx, il target è questo”); il discriminativo impara quanto è plausibile ogni risposta (“dato xx, il target vale tt con questa probabilità”); il generativo impara come nascono sia le domande sia le risposte (“ecco come sono distribuite insieme xx e tt”), e per questo sa fare più cose, ma è più difficile da costruire.

4.4 Frequentista vs bayesiano#

In parole semplici: per il frequentista il mondo ha parametri fissi e sono i dati a essere casuali; per il bayesiano anche la nostra conoscenza dei parametri è incerta, e la probabilità serve a misurare quell’incertezza.

5. Apprendimento induttivo e generalizzazione#

5.1 Che cosa significa “aver imparato”#

Tutto il framework poggia su una capacità che finora è rimasta implicita: la generalizzazione. Un modello che si limita a rispondere correttamente sugli esempi già visti non ha imparato nulla di interessante: ha memorizzato. Come per uno studente, saper rifare esattamente lo stesso esercizio mostrato in aula non dimostra apprendimento; lo dimostra saper risolvere un esercizio nuovo applicando ciò che si è astratto dai precedenti. L’apprendimento richiesto ai modelli è di tipo induttivo: dagli esempi particolari si estrae una regola generale, che viene poi applicata a situazioni mai osservate.

Idea chiave: apprendere significa generalizzare: estrarre dagli esempi una regola che funzioni su input nuovi. Questo è anche un obbligo pratico, perché quasi sempre è impossibile mostrare al modello tutte le situazioni possibili: sono troppe, o addirittura infinite.

In parole semplici: il modello viene giudicato su domande che non ha mai visto. Copiare le risposte degli esempi non basta: deve aver capito il criterio che le genera. È come studiare per un esame in cui gli esercizi saranno diversi da quelli svolti in classe.

5.2 Perché i dati da soli non bastano#

Un esempio giocoso, ma istruttivo, mostra quanto sia insidioso indurre la regola giusta da pochi dati. Si consideri un dataset di fotografie di persone, ciascuna etichettata con 0 oppure 1, e si provi a indovinare il concetto da apprendere. Guardando le prime immagini, l’ipotesi naturale è che l’etichetta distingua maschi e femmine: è semplice, ed è coerente con i dati visti. Poi arriva una nuova immagine etichettata che contraddice l’ipotesi: quella persona ha l’etichetta “sbagliata” rispetto alla regola ipotizzata. Si scopre così che il vero concetto era tutt’altro: per esempio, se il soggetto sorride oppure no o, in modo ancora più capzioso, se nella foto sono visibili i piedi della persona. E se nel dataset compare la foto di E.T., un elemento che non assomiglia a nulla di ciò che il training set rappresenta, semplicemente non c’è modo di rispondere in modo fondato.

regola Aregola Bclasse 0classe 1

Questo scherzo condensa tre problemi reali e permanenti dell’apprendimento supervisionato:

Per questo non deve stupire che i modelli sbaglino: anche con un algoritmo di ottimizzazione perfetto e un modello potentissimo, restano i limiti dei dati, la loro ambiguità e la loro eventuale scarsa rappresentatività.

In parole semplici: i dati non parlano da soli. Lo stesso insieme di esempi può essere spiegato da tante regole diverse, e la regola vera può non essere quella più ovvia. Se poi arriva un caso che non assomiglia a nessun esempio visto, il modello sta tirando a indovinare.

5.3 Il bias induttivo e il suo dilemma#

Se molte ipotesi sono coerenti con gli stessi dati, che cosa fa scegliere al modello l’una piuttosto che l’altra sui casi nuovi? La risposta è: le assunzioni incorporate nell’algoritmo, prima ancora di vedere i dati. La scelta dell’hypothesis space è la più importante di queste assunzioni: decidere di cercare tra le rette significa assumere che il fenomeno sia approssimativamente lineare. Questo insieme di assunzioni prende il nome di bias induttivo.

Bias induttivo

L’insieme delle assunzioni che, aggiunte ai dati di training, determinano il comportamento del modello sugli input mai osservati; comprende in primo luogo la scelta e la struttura dell’hypothesis space e le preferenze dell’algoritmo tra ipotesi ugualmente coerenti con i dati.

Il punto cruciale è che il bias induttivo non è un difetto da eliminare: è la condizione stessa della generalizzazione. Senza alcuna assunzione, i dati vincolano il modello solo sui punti osservati e non dicono nulla su quelli nuovi: un apprendista totalmente privo di bias potrebbe solo memorizzare. D’altra parte, il bias ha un costo, ed è il dilemma già incontrato nella sezione 2.3:

Questo compromesso è legato alla quantità di dati disponibile: più dati si hanno, più ci si può permettere uno spazio di ipotesi ricco, perché i dati stessi vincolano maggiormente la ricerca. Capire e quantificare questo legame tra quantità di dati e complessità del modello ammissibile è uno dei fili conduttori dell’intera materia.

Spazio piccolo: rischio di biasF (tutte le funzioni)H1 (es. rette)bias fortefh*biasla vera f resta fuori da H1: errore irriducibileSpazio grande: rischio di varianzaF (tutte le funzioni)H2 (es. polinomi grado 9)ff è dentro H2h*h*h*D'D''D'''dataset diversi, soluzioni molto diverse: varianza

In parole semplici: per generalizzare bisogna scommettere su qualcosa (“il fenomeno è più o meno di questa forma”). Se la scommessa è troppo rigida, si sbaglia perché la realtà non ci sta dentro; se è troppo lasca, si sbaglia perché i dati non bastano a scegliere bene. Il mestiere consiste nel calibrare la scommessa sulla quantità e qualità dei dati.

5.4 Nessun algoritmo è il migliore in assoluto#

Dal dilemma del bias discende un’ultima conseguenza, tanto semplice quanto fondamentale: non può esistere un bias induttivo universalmente giusto, e quindi nemmeno un algoritmo di apprendimento universalmente migliore.

No Free Lunch (enunciato informale)

Mediando su tutti i possibili problemi di apprendimento, tutti gli algoritmi hanno le stesse prestazioni: nessun algoritmo supera un altro su ogni problema. Un algoritmo che funziona meglio di un altro su una classe di problemi funziona necessariamente peggio su un’altra classe.

La lettura corretta non è pessimista. I problemi che si incontrano in pratica non sono “tutti i problemi possibili”: hanno struttura, regolarità, continuità. Il successo di un metodo dipende da quanto il suo bias induttivo è adatto alla struttura del problema in esame. Ecco perché è essenziale conoscere molte famiglie di modelli e i loro ingredienti: la scelta va fatta caso per caso, sfruttando la conoscenza del dominio, e non affidandosi a un presunto metodo migliore in assoluto.

In parole semplici: non esiste l’algoritmo perfetto per tutto, come non esiste l’attrezzo perfetto per ogni lavoro. Ogni metodo incorpora assunzioni; funziona bene dove le assunzioni sono azzeccate e male dove non lo sono. Per questo serve capire i metodi, non solo usarli.

Glossario#

Termine Definizione
Apprendimento supervisionato Paradigma in cui si apprende un’approssimazione di una funzione ignota a partire da un dataset di coppie input-output fornite da un supervisore.
Funzione target ff La vera relazione, ignota, che mappa gli input nei target; è l’oggetto da approssimare.
Feature (attributo) Variabile di input xx che descrive un esempio.
Target (label) Variabile di output tt associata a un input; è la risposta corretta fornita dal supervisore.
Dataset D\mathcal{D} Insieme finito di coppie (x,t)(x, t) generate dalla funzione target, tipicamente con rumore.
Rumore Componente di errore ϵ\epsilon che sporca le osservazioni: t=f(x)+ϵt = f(x) + \epsilon; condizione normale dei dati reali.
Classificazione Task supervisionato in cui il target è discreto (un’etichetta tra un insieme finito).
Regressione Task supervisionato in cui il target è una variabile continua.
Stima di probabilità Task in cui il target è una probabilità, cioè un numero in [0,1][0,1]; regressione di tipo particolare, ibrida con la classificazione.
Hypothesis space H\mathcal{H} Sottoinsieme di tutte le funzioni possibili entro cui l’algoritmo cerca l’approssimazione di ff.
Ipotesi hh Singola funzione candidata appartenente all’hypothesis space.
Loss function L\mathcal{L} Funzione che misura quanto un’ipotesi approssima male il target; l’apprendimento la minimizza.
Loss empirica Loss calcolata solo sui dati disponibili (per esempio la somma degli errori quadratici); approssimazione della loss vera, che è incalcolabile perché ff è ignota.
Rappresentazione Primo ingrediente di un algoritmo: la scelta della famiglia di modelli, cioè dell’hypothesis space.
Valutazione Secondo ingrediente: la scelta della loss o della metrica con cui giudicare le ipotesi.
Ottimizzazione Terzo ingrediente: il metodo di ricerca dell’ipotesi che minimizza la loss (combinatoria, convessa, vincolata).
Overfitting Fenomeno per cui un modello aderisce al rumore del training set e peggiora su dati nuovi; tipico di spazi di ipotesi troppo ricchi rispetto ai dati.
Parametrico Modello con numero di parametri fisso e finito, deciso in anticipo dal progettista.
Non parametrico Modello il cui numero di parametri dipende dal training set e si adatta ai dati.
Rischio empirico Errore misurato sul training set; la sua minimizzazione è l’Empirical Risk Minimization.
Rischio strutturale Criterio che bilancia errore di training e complessità del modello (Structural Risk Minimization).
Approccio diretto Strategia che apprende direttamente un’approssimazione di ff dai dati, in genere senza modello probabilistico.
Approccio discriminativo Strategia che modella la densità condizionata p(tx)p(t \mid x) e predice tramite la media condizionata.
Approccio generativo Strategia che modella la densità congiunta p(x,t)p(x, t); più difficile, ma consente anche di generare nuovi dati.
Frequentista Impostazione in cui la probabilità modella il processo di campionamento dei dati.
Bayesiano Impostazione in cui la probabilità modella l’incertezza sulla stima appresa.
Generalizzazione Capacità di un modello di comportarsi bene su input mai visti durante l’addestramento.
Apprendimento induttivo Processo che estrae dagli esempi particolari una regola generale applicabile a casi nuovi.
Bias induttivo Insieme delle assunzioni che, insieme ai dati, determinano le predizioni su input nuovi; è necessario per generalizzare.
No Free Lunch Principio per cui, mediando su tutti i problemi possibili, nessun algoritmo è migliore di un altro: la scelta del metodo dipende dal problema.

Dispensa Machine Learning · Politecnico di Milano